info = {
    "stu2001":"LAY",
    "stu2002":"LSY",
    "stu2003":"Lin"
}
print(info)

info = {
     "stu2001":"LAY",
     "stu2002":"LSY",
     "stu2003":"Lin"
 }
print(info)

info2 = dict(stu2001="LAY",stu2002="LSY",stu2003="Lin")
print(info2)

info3 = {}
info3["stu2001"]="LAY"
info3["stu2002"]="LSY"
info3["stu2003"]="Lin"
print(info3)
info = {
    "stu2001":"LAY",
    "stu2002":"LSY",
    "stu2003":"Lin"
}
print(info)

info_2021 = {}
info_2021["stu2101"] = "LAY"
print(info_2021)

info_03 = dict(stu2001="LAY",stu2002="LSY",stu2003="Lin")
print(info_03)

print('stu2001' in info_03)
print(info_03['stu2001'])

print(info_03.get('stu2004'))

# 增加
info["stu2004"] = "YX"
print(info)

# 修改
info["stu2004"] = "YX"
print(info)

# 删除
print(info)
info.pop("stu2004") # 标准删除姿势
print(info)
del info["stu2001"]
print(info)
info = {
    "stu2001": "LAY",
    "stu2002": "LSY",
    "stu2003": "Lin"
}
print(info)
info.popitem()
print(info)
info = {
    "stu2001": "LAY",
    "stu2002": "LSY",
    "stu2003": "Lin"
}
print("stu2001" in info)
print(info.get("stu2002"))
print(info["stu2002"])
print(info.get("stu2005"))

# 查找
info = {"stu2001":"LAY","stu2002":"LSY","stu2003":"Lin"}
info
print("stu2001" in info) # 标准用法
print(info.get("stu2002")) # 获取
print(info["stu2002"])
print(info.get("stu2005"))

# 当遍历字典时，可以使用该items()方法同时检索键和相应的值
knights = {'gallahad': 'the pure', 'robin': 'the brave'}
for k, v in knights.items():
    print(k, v)

# 在序列中循环时，可以使用该enumerate()功能同时检索位置索引和相应的值
for i, v in enumerate(['tic', 'tac', 'toe']):
    print(i, v)

# 要同时循环两个或多个序列，可以将条目与zip()函数配对
questions = ['name', 'quest', 'favorite color']
answers = ['lancelot', 'the holy grail', 'blue']
for q, a in zip(questions, answers):
    print('What is your {0}?  It is {1}.'.format(q, a))

#  要反向循环一个序列，请先沿向前方向指定该序列，然后调用该reversed()函数
for i in reversed(range(1, 10, 2)):
    print(i)

# 要按排序顺序循环显示序列，请使用sorted()函数，该函数返回一个新的排序列表，同时保持源不变
basket = ['apple', 'orange', 'apple', 'pear', 'orange', 'banana']
for i in sorted(basket):
    print(i)

# set()在序列上使用可消除重复的元素。使用 sorted()结合set()一个序列是一个习惯地遍历按排序顺序序列的独特的元件
basket = ['apple', 'orange', 'apple', 'pear', 'orange', 'banana']
for f in sorted(set(basket)):
    print(f)

# 创建新列表
import math
raw_data = [56.2, float('NaN'), 51.7, 55.3, 52.5, float('NaN'), 47.8]
filtered_data = []
for value in raw_data:
    if not math.isnan(value):
        filtered_data.append(value)

filtered_data